// pages/ticket-detail/ticket-detail.js
const app = getApp()

Page({
  data: {
    ticket: null,
    merchantInfo: null,
    isExpired: false
  },

  onLoad(options) {
    // 获取传递的优惠券信息
    if (options.ticket) {
      const ticket = JSON.parse(decodeURIComponent(options.ticket))
      this.setData({
        ticket: ticket,
        isExpired: this.checkExpired(ticket.deadTime)
      }),()=>{
        console.log(this.ticket);
      }
      console.log(ticket);

      // 获取商家信息
      // this.getMerchantInfo(ticket.merchantId)

      // 设置页面标题
      wx.setNavigationBarTitle({
        title: `券码 ${ticket.ticketCode}`
      })
    }
  },

  onShow() {
    // 页面显示时执行
  },

  // 检查券是否过期
  checkExpired(deadTime) {
    if (!deadTime) return true
    const now = new Date()
    const expireDate = new Date(deadTime)
    return now > expireDate
  },

  // 格式化日期时间
  formatDateTime(dateString) {
    if (!dateString) return '无'
    const date = new Date(dateString)
    const year = date.getFullYear()
    const month = (date.getMonth() + 1).toString().padStart(2, '0')
    const day = date.getDate().toString().padStart(2, '0')
    const hour = date.getHours().toString().padStart(2, '0')
    const minute = date.getMinutes().toString().padStart(2, '0')
    return `${year}-${month}-${day} ${hour}:${minute}`
  },

  // 获取商家信息
  getMerchantInfo(merchantId) {
    wx.request({
      url: `${app.globalData.baseUrl}/qdd/merchant/${merchantId}`,
      method: 'GET',
      success: (res) => {
        if (res.statusCode === 200 && res.data.code === 0) {
          this.setData({
            merchantInfo: res.data.data
          })
        }
      },
      fail: (err) => {
        console.error('获取商家信息失败:', err)
      }
    })
  },

  // 复制券码
  copyCode() {
    const ticketCode = this.data.ticket.ticketCode.toString()
    wx.setClipboardData({
      data: ticketCode,
      success: () => {
        wx.showToast({
          title: '券码已复制',
          icon: 'success'
        })
      },
      fail: () => {
        wx.showToast({
          title: '复制失败',
          icon: 'none'
        })
      }
    })
  },

  // 拨打商家电话
  callMerchant(e) {
    const phone = e.currentTarget.dataset.phone
    wx.makePhoneCall({
      phoneNumber: phone,
      success: () => {
        console.log('拨打电话成功')
      },
      fail: (err) => {
        console.error('拨打电话失败:', err)
        wx.showToast({
          title: '拨打失败',
          icon: 'none'
        })
      }
    })
  },

  // 使用优惠券
  useTicket() {
    if (this.data.isExpired) {
      wx.showToast({
        title: '优惠券已过期',
        icon: 'none'
      })
      return
    }

    const ticket = this.data.ticket
    wx.showModal({
      title: '使用优惠券',
      content: `确定要使用券码 ${ticket.ticketCode} 吗？\n\n优惠金额：¥${ticket.preferential}\n使用条件：满${ticket.limitation}元可用`,
      confirmText: '确定使用',
      cancelText: '取消',
      success: (res) => {
        if (res.confirm) {
          // 这里可以添加实际的使用逻辑，比如调用后端API记录使用状态
          this.recordTicketUsage(ticket)
        }
      }
    })
  },

  // 记录优惠券使用
  recordTicketUsage(ticket) {
    // 显示使用成功的提示
    wx.showModal({
      title: '使用成功',
      content: `券码 ${ticket.ticketCode} 已成功使用！\n\n请向商家出示此页面完成核销。`,
      showCancel: false,
      confirmText: '知道了',
      success: () => {
        // 可以在这里添加跳转逻辑或其他操作
      }
    })

    // 这里可以调用后端API记录使用状态
    // wx.request({
    //   url: `${app.globalData.baseUrl}/qdd/ticket/use`,
    //   method: 'POST',
    //   data: {
    //     ticketId: ticket.ticketId
    //   },
    //   success: (res) => {
    //     // 处理使用结果
    //   }
    // })
  },

  // 分享优惠券
  shareTicket() {
    const ticket = this.data.ticket
    const merchantInfo = this.data.merchantInfo
    
    wx.showShareMenu({
      withShareTicket: true,
      success: () => {
        console.log('分享菜单显示成功')
      }
    })
  },

  // 分享给好友
  onShareAppMessage() {
    const ticket = this.data.ticket
    const merchantInfo = this.data.merchantInfo
    
    return {
      title: `发现一张¥${ticket.preferential}优惠券`,
      path: `/pages/ticket-detail/ticket-detail?ticket=${encodeURIComponent(JSON.stringify(ticket))}`,
      imageUrl: '', // 可以设置分享图片
      success: (res) => {
        wx.showToast({
          title: '分享成功',
          icon: 'success'
        })
      },
      fail: (err) => {
        console.error('分享失败:', err)
      }
    }
  },

  // 分享到朋友圈
  onShareTimeline() {
    const ticket = this.data.ticket
    
    return {
      title: `券多多 - ¥${ticket.preferential}优惠券`,
      query: `ticket=${encodeURIComponent(JSON.stringify(ticket))}`,
      imageUrl: '' // 可以设置分享图片
    }
  },

  // 页面滚动
  onPageScroll(e) {
    // 可以在这里添加滚动相关的逻辑
  },

  // 用户点击右上角分享
  onShareAppMessage() {
    return this.shareTicket()
  }
})
